# -*- coding: utf-8 -*-
"""
Django Channels WebSocket路由配置

该模块定义了WebSocket连接的URL路由规则。
主要功能：
1. 配置WebSocket URL模式
2. 将特定URL路径映射到对应的WebSocket消费者
3. 支持URL参数传递（如config_id）
"""

from channels.routing import ProtocolTypeRouter, URLRouter
from channels.security.websocket import AllowedHostsOriginValidator
from django.urls import path
from api.consumers import KafkaConsumer

# WebSocket URL路由配置
# 定义WebSocket连接的URL模式和对应的消费者类
websocket_urlpatterns = [
    # Kafka WebSocket连接路由
    # URL格式: ws://host:port/ws/kafka/{config_id}/
    # config_id: Kafka配置的主键ID，用于标识要连接的Kafka配置
    path("ws/kafka/<int:config_id>/", KafkaConsumer.as_asgi()),
]